public void hideKeyboard(Context context, View view) {
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
// call from inside an Activity...
hideKeyboard(this, view);
hideKeyboard(this, getCurrentFocus());
hideKeyboard(this, getWindow().getDecorView());
hideKeyboard(this, findViewById(android.R.id.content));
// Available on Android API 30+ / AndroidX Core 1.5+
public void hideKeyboard(View view) {
ViewCompat.getWindowInsetsController(this)
.hide(WindowInsetsCompat.Type.ime());
}
// @see https://youtu.be/acC7SR1EXsI
// @see https://developer.android.com/reference/androidx/core/view/ViewCompat#getWindowInsetsController(android.view.View)
// @see https://developer.android.com/reference/androidx/core/view/WindowInsetsControllerCompat#hide(int)
// @see https://developer.android.com/reference/androidx/core/view/WindowInsetsCompat.Type#ime()
public void hideKeyboard(View view) {
Context context = view.getContext();
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
// call from inside an Activity / Fragment
hideKeyboard(view);
InputMethodManager inputManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(this.getCurrentFocus().getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);
//With AndroidX:
fun View.hideKeyboard() = ViewCompat.getWindowInsetsController(this)
?.hide(WindowInsetsCompat.Type.ime())